home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 6 / MacMania 6.toast / / Multimedia & Desktop / sk8 / SK8InJava / Code / Actors / EventMode.java < prev    next >
Encoding:
Java Source  |  1997-02-27  |  1.9 KB  |  91 lines  |  [TEXT/CWIE]

  1. /*  SK8 © 1997 Apple Computer, Inc.
  2.     This code is protected under the current SK8 License
  3.     See http://sk8.research.apple.com/ for more information
  4.     Apple Research Laboratories
  5. */
  6.  
  7. import java.util.*;
  8. import java.awt.*;
  9.  
  10. class eventmode {
  11.     // slots
  12.     public static Stack modestack = new Stack();
  13.     
  14.     // static methods.
  15.     
  16.     public static void forceexitcurrentmode () {
  17.         eventmode.modestack.pop();
  18.     }
  19.     
  20.     public static eventmode currentmode () {
  21.         return (eventmode) eventmode.modestack.peek();
  22.     }
  23.     
  24.     public static eventmode activemode () {
  25.         return eventmode.currentmode();
  26.     }
  27.     
  28.     public static boolean eventmodeon () {
  29.         return (eventmode.modestack.empty() == false);
  30.     }
  31.     
  32.     public static void setcurrentmode (eventmode mode) {
  33.         eventmode.modestack.push(mode);
  34.     }
  35.     
  36.     public static void popcurrentmode () {
  37.         eventmode.modestack.pop();
  38.     }
  39.     
  40.     // methods. 
  41.     
  42.     public void handleidle (Event e) {
  43.         ((actor) sk8.eventwindow()).sk8idleevent(e);
  44.     }
  45.     
  46.     public void handlemousedown (Event e) {
  47.         ((actor) sk8.eventwindow()).sk8mousedownevent(e);
  48.     }
  49.     
  50.     public void handleactivate (Event e, actor oldwindow) {
  51.         ((actor) sk8.eventwindow()).sk8selectoldwindow(e, oldwindow);
  52.     }
  53.     
  54.     public void handlemouseup (Event e) {
  55.         ((actor) sk8.eventwindow()).sk8mouseupevent(e);
  56.     }
  57.     
  58.     public void handlekeydown (Event e) {
  59.         ((actor) sk8.eventwindow()).sk8keydownevent(e);
  60.     }
  61.     
  62.     public void handlekeyup (Event e) {
  63.         ((actor) sk8.eventwindow()).sk8keyupevent(e);
  64.     }
  65.  
  66.     public void resume () {
  67.     }
  68.  
  69.     public void suspend () {
  70.     }
  71.  
  72.     public void activate () {
  73.     }
  74.  
  75.     public void deactivate () {
  76.     }
  77.     
  78.     public void entermode () {
  79.         if (eventmode.eventmodeon() == true) 
  80.             eventmode.currentmode().suspend();
  81.         this.activate();
  82.         eventmode.setcurrentmode(this);
  83.     }
  84.     
  85.     public void exitmode () {
  86.         eventmode.popcurrentmode();
  87.         this.deactivate();
  88.         if (eventmode.eventmodeon() == true)
  89.             eventmode.currentmode().resume();
  90.     }
  91. }